[JS/백준]{그리디}(1541) 잃어버린 괄호

202210월 02

백준 문제 링크

문제 설명

그리디 문제는 꼭 수수께끼 문제를 푸는것같다 구현하기는 어렵지않은데 풀이방법을 생각해

내는것이 어렵다 ㅠㅠ

이문제는 괄호를 적적히써서 식에 대한 최소값을 찾는것이다. 일반적으로 최소값을 찾기위해서는

음수에서 큰값을 뺴면 가장 최소값을 찾을수가 있다. 그래서 우선 -로 나눠서 +끼리 모은다

그후 +를 다 더해준다음 다 빼주면 된다.


코드

const line = require("fs").readFileSync("./input.txt", "utf8");
let inputData = line.trim().split("-");

inputData = inputData.map((val) => {
  if (val.includes("+")) {
    const arr = val.split("+").map(Number);
    return arr.reduce((pre, cur) => pre + cur);
  }
  return +val;
});

let result = 0;

inputData.forEach((val, idx) => {
  if (idx === 0) {
    result = val;
  } else {
    result -= val;
  }
});
console.log(result);